home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-05-23 | 10.9 KB | 361 lines |
- 10 REM-Nuclear attack simulator
- 20 REM-by K.L. AND R.M. FREEZE
- 30 REM-Original program by J.R. DUKAT
- 40 REM-Information presented is as good as my sources allow
- 50 REM-any corrections or improvements are welcomed........
- 60 REM
- 70 REM-start it up
- 80 SCREEN 1:CLS:KEY OFF
- 90 ' LOCATE 6,9,0:PRINT "DO YOU LOVE SAN FRANCISCO?";
- 100 'FOR T=1 TO 3000:NEXT T:CLS
- 110 GOTO 160
- 120 GOSUB 2970
- 130 GOSUB 2940
- 140 SCREEN 1
- 150 CLS
- 160 COLOR 0,7
- 170 KEY OFF
- 180 LINE (158,3)-(339,20),2,B
- 190 LINE (158,27)-(338,190),2,B
- 200 LOCATE 2,21:PRINT " SAN FRANCISCO BAY";
- 210 SCALE=1
- 220 XT=-140:YT=120
- 230 IBMX=150+(XT*SCALE):IBMY=99-((YT)*SCALE)
- 240 FLG=0
- 250 READ X,Y
- 260 IF X=999 AND Y=999 THEN 240
- 270 IF X=888 AND Y=888 THEN 370
- 280 X=X+TX:Y=Y+TY
- 290 X0=TX:Y0=TY
- 300 X=IBMX+X:Y=IBMY-(Y)
- 310 PSET (X,Y),1
- 320 IF FLG=0 THEN 340
- 330 LINE (X,Y)-(LASTX,LASTY)
- 340 LASTX=X:LASTY=Y
- 350 FLG=1
- 360 GOTO 250
- 370 READ X,Y
- 380 IF X=999 AND Y=999 THEN 410
- 390 PAINT (X,Y),2,3
- 400 GOTO 370
- 410 GOSUB 3020 ;DRAW COMPASS ROSE
- 420 IF NXTBOMB=1 THEN 2330
- 430 LOCATE 5,21:PRINT " This map covers ";
- 440 LOCATE 6,21:PRINT " an area of appx. ";
- 450 LOCATE 7,21:PRINT " 1700 sq/mi. The ";
- 460 LOCATE 8,21:PRINT " long dimension is";
- 470 LOCATE 9,21:PRINT " about 50 miles - ";
- 480 LOCATE 10,21:PRINT " short dimension ";
- 490 LOCATE 11,21:PRINT " about 34 miles. ";
- 500 LOCATE 12,21:PRINT " Oakland is near ";
- 510 LOCATE 13,21:PRINT " the center of the";
- 520 LOCATE 14,21:PRINT " map. ";
- 530 LOCATE 15,21:PRINT " San Francisco is ";
- 540 LOCATE 16,21:PRINT " west. The Pacific";
- 550 LOCATE 17,21:PRINT " Ocean lies all ";
- 560 LOCATE 18,21:PRINT " along the west. ";
- 570 LOCATE 19,21:PRINT " ";
- 580 LOCATE 20,21:PRINT " ";
- 590 FOR T=1 TO 9000:NEXT T
- 600 GOSUB 2970 ;CLEAR BIG BOX
- 610 LOCATE 5,21:PRINT " To the south is ";
- 620 LOCATE 6,21:PRINT " San Jose and to ";
- 630 LOCATE 7,21:PRINT " the north is the ";
- 640 LOCATE 8,21:PRINT " California wine ";
- 650 LOCATE 9,21:PRINT " country. ";
- 660 LOCATE 10,21:PRINT " ";
- 710 FOR T=1 TO 8000:NEXT T
- 720 GOSUB 2970
- 730 LOCATE 5,21:PRINT " This program is ";
- 740 LOCATE 6,21:PRINT " to demonstrate ";
- 750 LOCATE 7,21:PRINT " effects from var-";
- 760 LOCATE 8,21:PRINT " ious nuclear war-";
- 770 LOCATE 9,21:PRINT " heads which might";
- 780 LOCATE 10,21:PRINT " be used in attack";
- 790 LOCATE 11,21:PRINT " ing San Francisco";
- 800 LOCATE 12,21:PRINT " This attack will ";
- 810 LOCATE 13,21:PRINT " consist of just ";
- 820 LOCATE 14,21:PRINT " 11 1 MT. bombs. ";
- 830 LOCATE 15,21:PRINT " They will explode";
- 840 LOCATE 16,21:PRINT " at an altitude of";
- 850 LOCATE 17,21:PRINT " 8000 ft. This sim";
- 860 LOCATE 18,21:PRINT " ulation would be ";
- 870 LOCATE 19,21:PRINT " considered on the";
- 880 LOCATE 20,21:PRINT " conservative side";
- 890 LOCATE 21,21:PRINT " A maximum attack ";
- 900 LOCATE 22,21:PRINT " would use around ";
- 910 LOCATE 23,21:PRINT " 60 warheads......";
- 920 FOR T=1 TO 11000:NEXT T
- 930 GOSUB 2970
- 940 TMR=2000
- 950 GOSUB 2940
- 960 LOCATE 2,21:PRINT " Select Targets ";
- 970 LINE (158,27)-(338,190),2,B
- 980 LOCATE 5,21:PRINT " Downtown SF ";
- 990 SOUND 500,1:PSET (40,92),1
- 1000 FOR T=1 TO TMR:NEXT T
- 1010 LOCATE 6,21:PRINT " Berkeley ";
- 1020 SOUND 500,1:PSET (76,60),1
- 1030 FOR T=1 TO TMR:NEXT T
- 1040 LOCATE 7,21:PRINT " Oakland ";
- 1050 SOUND 500,1:PSET (87,82),1
- 1060 FOR T=1 TO TMR:NEXT T
- 1070 LOCATE 8,21:PRINT " Walnut Creek ";
- 1080 SOUND 500,1:PSET (120,62),1
- 1090 FOR T=1 TO TMR:NEXT T
- 1100 LOCATE 9,21:PRINT " Concord ";
- 1110 SOUND 500,1:PSET (125,42),1
- 1120 FOR T=1 TO TMR:NEXT T
- 1130 LOCATE 10,21:PRINT " Richmond ";
- 1140 SOUND 500,1:PSET (58,48),1
- 1150 FOR T=1 TO TMR:NEXT T
- 1160 LOCATE 11,21:PRINT " Vallejo ";
- 1170 SOUND 500,1:PSET (88,10),1
- 1180 FOR T=1 TO TMR:NEXT T
- 1190 LOCATE 12,21:PRINT " Martinez ";
- 1200 SOUND 500,1:PSET (110,33),1
- 1210 FOR T=1 TO TMR:NEXT T
- 1220 LOCATE 13,21:PRINT " Hayward ";
- 1221 SOUND 500,1:PSET (119,115),1
- 1222 FOR T=1 TO TMR:NEXT T
- 1230 LOCATE 14,21:PRINT " San Mateo ";
- 1231 SOUND 500,1:PSET (75,145),1
- 1232 FOR T=1 TO TMR:NEXT T
- 1235 LOCATE 15,21:PRINT " Palo Alto ";
- 1236 SOUND 500,1:PSET (105,169),1
- 1240 FOR T=1 TO TMR:NEXT T
- 1250 FOR I=5 TO 15
- 1260 LOCATE I,22:PRINT CHR$(26);
- 1270 SOUND 1000,1:FOR T=1 TO 50:NEXT T
- 1280 NEXT I
- 1290 LOCATE 2,21:PRINT " Targets Confirmed ";
- 1300 FOR T=1 TO 4000:NEXT T
- 1310 GOSUB 2970
- 1320 FOR S=1 TO 50:SOUND 9000,0.5:SOUND 8000,0.5:NEXT S
- 1330 LOCATE 2,21:PRINT " Warhead Size ";
- 1340 LOCATE 5,21:PRINT " Each warhead is ";
- 1350 LOCATE 6,21:PRINT " one megaton - the ";
- 1360 LOCATE 7,21:PRINT " equivalent of one ";
- 1370 LOCATE 8,21:PRINT " million tons of ";
- 1380 LOCATE 9,21:PRINT " TNT. ";
- 1390 LOCATE 11,21:PRINT " Warheads are set ";
- 1400 LOCATE 12,21:PRINT " to airburst at an ";
- 1410 LOCATE 13,21:PRINT " altitude of 8000 ";
- 1420 LOCATE 14,21:PRINT " feet. ";
- 1430 FOR T=1 TO 5000:NEXT T
- 1440 GOSUB 2970:GOSUB 2940
- 1450 SOUND 8000,0.5
- 1460 LOCATE 2,21:PRINT " Targets Marked ";
- 1470 PSET (40,92),Z
- 1480 PSET (76,60),Z
- 1490 PSET (87,82),Z
- 1500 PSET (120,62),Z
- 1510 PSET (125,42),Z
- 1520 PSET (58,48),Z
- 1530 PSET (88,10),Z
- 1540 PSET (110,33),Z
- 1550 PSET (119,115),Z
- 1551 PSET (75,145),Z
- 1552 PSET (105,169),Z
- 1560 C=C+1:IF C=150 THEN 1590
- 1570 IF Z=1 THEN Z=0 ELSE Z=1
- 1580 GOTO 1470
- 1590 LOCATE 2,21:PRINT " Time to detonate ";
- 1600 FOR CD=10 TO 3 STEP -1
- 1610 LOCATE 6,23:PRINT USING "####";CD;
- 1620 LOCATE 6,28:PRINT "seconds";
- 1630 FOR T=1 TO 1000:NEXT T
- 1640 NEXT CD
- 1650 GOSUB 2970
- 1660 FOR S=1 TO 50:SOUND 4000,0.5:SOUND 4500,0.5:NEXT S
- 1670 LOCATE 2,21:PRINT " -- DETONATION -- ";
- 1680 S=1:I=5:R=0:GOSUB 2690
- 1690 LOCATE 5,21:PRINT " ZONE 1 ";
- 1700 LOCATE 7,21:PRINT " Diameter 3 mi. ";
- 1710 LOCATE 10,21:PRINT " Overpress. 25 psi ";
- 1720 LOCATE 11,21:PRINT " Wind Vel. 320 mph ";
- 1730 LOCATE 13,21:PRINT " All structures ";
- 1740 LOCATE 14,21:PRINT " above ground are ";
- 1750 LOCATE 15,21:PRINT " destroyed. ";
- 1760 LOCATE 17,21:PRINT " 98 % fatalities ";
- 1770 LOCATE 19,21:PRINT " STBY FOR ZONE 2 ";
- 1780 FOR T=1 TO 5500:NEXT T
- 1790 GOSUB 2970
- 1800 S=6:I=10:R=3:GOSUB 2690
- 1810 LOCATE 5,21:PRINT " ZONE 2 ";
- 1820 LOCATE 7,21:PRINT " Diameter 6 miles ";
- 1830 LOCATE 10,21:PRINT " Overpress. 9 psi ";
- 1840 LOCATE 11,21:PRINT " Wind Vel. 260 mph ";
- 1850 LOCATE 13,21:PRINT " Factories/office ";
- 1860 LOCATE 14,21:PRINT " buildings collapse";
- 1870 LOCATE 15,21:PRINT " Severe damage to ";
- 1880 LOCATE 16,21:PRINT " highway bridges. ";
- 1890 LOCATE 17,21:PRINT " 50% dead 40% inj. ";
- 1900 LOCATE 19,21:PRINT " STBY FOR ZONE 3 ";
- 1910 FOR T=1 TO 5500:NEXT T
- 1920 GOSUB 2970
- 1930 I=19:R=1:GOSUB 2590 ;DRAW CIRCLES
- 1940 LOCATE 5,21:PRINT " ZONE 3 ";
- 1950 LOCATE 7,21:PRINT " Diameter 10 mi. ";
- 1960 LOCATE 10,21:PRINT " Overpress. 3 psi ";
- 1970 LOCATE 11,21:PRINT " Wind Vel. 98 mph ";
- 1980 LOCATE 13,21:PRINT " Wood frame resid-";
- 1990 LOCATE 14,21:PRINT " ences severely ";
- 2000 LOCATE 15,21:PRINT " damaged. People ";
- 2010 LOCATE 16,21:PRINT " are blown around, ";
- 2020 LOCATE 17,21:PRINT " 2nd degree burns, ";
- 2030 LOCATE 18,21:PRINT " 10% dead 45% inj. ";
- 2040 LOCATE 20,21:PRINT " STBY FOR MORE.. ";
- 2050 FOR T=1 TO 5500:NEXT T
- 2060 GOSUB 2970
- 2070 LOCATE 5,21:PRINT " LONG RANGE EFFECT ";
- 2080 LOCATE 7,21:PRINT " Light door/plaster";
- 2090 LOCATE 8,21:PRINT " damage to 14.5 mi.";
- 2100 LOCATE 9,21:PRINT " Windows broken out";
- 2110 LOCATE 10,21:PRINT " to 30 miles. ";
- 2120 LOCATE 12,21:PRINT " Flashblindness to ";
- 2130 LOCATE 13,21:PRINT " 13 miles daytime ";
- 2140 LOCATE 14,21:PRINT " and to 50 miles at";
- 2150 LOCATE 15,21:PRINT " night clear sky. ";
- 2160 FOR T=1 TO 5500:NEXT T
- 2170 GOSUB 2970:GOSUB 2940
- 2180 LOCATE 2,21:PRINT " WANNA SEE WORSE ? ";
- 2190 LOCATE 5,21:PRINT " If you wait just a";
- 2200 LOCATE 6,21:PRINT " second I'll redraw";
- 2210 LOCATE 7,21:PRINT " the map and drop ";
- 2220 LOCATE 8,21:PRINT " just one 20 MT.war";
- 2230 LOCATE 9,21:PRINT " head centered on ";
- 2240 LOCATE 10,21:PRINT " Downtown Berkeley.";
- 2250 LOCATE 11,21:PRINT " I will mark zones ";
- 2260 LOCATE 12,21:PRINT " as before... ";
- 2270 LOCATE 13,21:PRINT " Burst altitude for";
- 2280 LOCATE 14,21:PRINT " this device will ";
- 2290 LOCATE 15,21:PRINT " be 17500 feet... ";
- 2300 NXTBOMB=1
- 2310 FOR T=1 TO 9000:NEXT T
- 2320 RESTORE:GOTO 120
- 2330 SOUND 2000,1
- 2340 LOCATE 2,21:PRINT " Target Berkeley ";
- 2350 LOCATE 5,21:PRINT " 20 MT. WARHEAD ";
- 2360 PSET (76,60),0
- 2370 FOR T=1 TO 3000:NEXT T
- 2380 SOUND 5000,1:LOCATE 2,21:PRINT " -- DETONATION -- ";
- 2390 S=1:I=16:R=0:GOSUB 2830:S=17:I=23:R=1:GOSUB 2830
- 2400 CIRCLE (76,60),40,1
- 2410 FOR T=1 TO 3000:NEXT T
- 2420 GOSUB 2970
- 2430 LOCATE 6,21:PRINT " -FOR COMPARISON- ";
- 2440 LOCATE 8,21:PRINT " I'll drop a 12.5 ";
- 2450 LOCATE 9,21:PRINT " kiloton bomb on ";
- 2460 LOCATE 10,21:PRINT " San Francisco. ";
- 2470 LOCATE 11,21:PRINT " (Hiroshima size)..";
- 2480 S=1:I=2:R=0:GOSUB 2900:S=3:I=4:R=3:GOSUB 2900
- 2490 FOR T=1 TO 10000:NEXT T:CLS:SCREEN 0:WIDTH 80
- 2500 LOCATE 10,15,0
- 2510 PRINT " Projection for U.S. & SOVIET warhead numbers for 1985"
- 2520 LOCATE 11,15,0
- 2530 PRINT " is a grand total of roughly 40000 of various sizes..."
- 2540 LOCATE 12,15,0
- 2550 PRINT " This total does not include other nuclear powers ..."
- 2560 LOCATE 17,19,0
- 2570 PRINT " BYE/BYE & GOOD LUCK"
- 2580 FOR T=1 TO 9000:NEXT T
- 2581 LOCATE 1,1,1:CLS:END
- 2590 CIRCLE (40,92),I,R
- 2600 CIRCLE (76,60),I,R
- 2610 CIRCLE (87,82),I,R
- 2620 CIRCLE (120,62),I,R
- 2630 CIRCLE (125,42),I,R
- 2640 CIRCLE (58,48),I,R
- 2650 CIRCLE (88,10),I,R
- 2660 CIRCLE (110,33),I,R
- 2670 CIRCLE (119,115),I,R
- 2671 CIRCLE (75,145),I,R
- 2672 CIRCLE (105,169),I,R
- 2680 RETURN
- 2690 FOR GZ=S TO I
- 2700 CIRCLE (40,92),GZ,R
- 2710 CIRCLE (76,60),GZ,R
- 2720 CIRCLE (87,82),GZ,R
- 2730 CIRCLE (120,62),GZ,R
- 2740 CIRCLE (125,42),GZ,R
- 2750 CIRCLE (58,48),GZ,R
- 2760 CIRCLE (88,10),GZ,R
- 2770 CIRCLE (110,33),GZ,R
- 2780 CIRCLE (119,115),GZ,R
- 2781 CIRCLE (75,145),GZ,R
- 2782 CIRCLE (105,169),GZ,R
- 2790 FOR T=1 TO 300:NEXT T
- 2800 NEXT GZ
- 2810 REM-SINGLE WARHEAD ON BERKELEY
- 2820 RETURN
- 2830 FOR GZ=S TO I
- 2840 CIRCLE (76,60),GZ,R
- 2850 FOR T=1 TO 300:NEXT T
- 2860 NEXT GZ
- 2870 FOR T=1 TO 300:NEXT T
- 2880 RETURN
- 2890 REM-sub to drop 12.5 kiloton bomb on SAN FRANCISCO
- 2900 FOR GZ=S TO I
- 2910 CIRCLE (40,92),GZ,R
- 2920 FOR T=1 TO 300:NEXT T
- 2930 NEXT GZ
- 2940 REM- to clear small box
- 2950 LOCATE 2,21:PRINT " ";
- 2960 RETURN
- 2970 REM-sub to clear big box
- 2980 FOR I=5 TO 23
- 2990 LOCATE I,22:PRINT " ";
- 3000 NEXT I
- 3010 RETURN
- 3020 REM-sub to draw compass rose
- 3030 'FOR I=20 TO 50 STEP 2:PSET (30,I),1:NEXT I
- 3040 'FOR I=20 TO 40 STEP 4:PSET (I,35),1:NEXT I
- 3050 'PSET (30,20),1:LINE -(27,23),1:PSET (30,20),1:LINE -(33,23),1
- 3060 RETURN
- 3070 DATA 0,-94,4,-100,9,-103,12,-104,18,-103,19,-102,23,-100
- 3080 DATA 21,-95,18,-93,16,-92,16,-88,18,-82,21,-88,24,-90
- 3090 DATA 25,-93,27,-93,28,-92,28,-90,28,-88,23,-80,21,-78
- 3100 DATA 15,-70,18,-67,25,-66,27,-62,26,-58,20,-55,15,-54
- 3110 DATA 15,-47,18,-42,18,-38,18,-32,21,-32,27,-29,27,-28
- 3120 DATA 36,-28,40,-29,45,-30,50,-29,53,-28,57,-29,61,-30
- 3130 DATA 63,-31,65,-31,68,-32,72,-35,75,-35,81,-34,84,-36
- 3140 DATA 89,-40,91,-42,98,-42,102,-40,106,-38,109,-36,109,-30
- 3150 DATA 108,-26,108,-22: TOP OF BAY
- 3160 DATA 131,-22,128,-24,127,-27,125,-31,126,-33,127,-35,135,-34
- 3161 DATA 135,-42,130,-41,126,-40,120,-39,117,-40,114,-42,111,-46
- 3162 DATA 108,-48,100,-49,99,-49,92,-48,89,-47,84,-43,84,-40
- 3163 DATA 81,-38,75,-39,73,-39,68,-42,65,-46,64,-47,67,-50,67,-52
- 3164 DATA 64,-50,63,-49,61,-49,63,-53,56,-54,54,-54,51,-52,45,-52
- 3165 DATA 43,-53,43,-55,44,-58,41,-59,40,-61,43,-64,45,-66,45,-67
- 3166 DATA 43,-66,40,-64,36,-66,34,-62,30,-65,34,-69,37,-73
- 3167 DATA 37,-75,38,-77,41,-77,44,-73,46,-71,47,-73,53,-76,54,-79
- 3168 DATA 56,-81,59,-88,61,-90,62,-96,62,-100,56,-100,54,-102,52,-104
- 3169 DATA 53,-106,54,-106,63,-105,65,-104,72,-106,75,-108,79,-110
- 3170 DATA 80,-112,81,-116,83,-120,81,-119,74,-118,73,-120,74,-124
- 3171 DATA 76,-126,81,-126,84,-128,86,-130,88,-129,90,-134,91,-133
- 3172 DATA 98,-133,98,-131,97,-136,95,-140,92,-141,94,-144,96,-152
- 3173 DATA 97,-155,96,-160,98,-162,99,-164
- 3174 DATA 104,-164,108,-163,111,-163,112,-165,112,-168,108,-172
- 3175 DATA 110,-176,115,-178,117,-180,120,-182,124,-184,118,-185
- 3176 DATA 116,-186,118,-188,126,-190,120,-191,117,-194,110,-195
- 3177 DATA 108,-193,105,-192,101,-184,100,-178,99,-176,94,-178,90,-176
- 3178 DATA 76,-168,74,-166,72,-162,63,-160,54,-155,49,-152,45,-150
- 3179 DATA 42,-146,39,-144,41,-138,43,-136,44,-132,40,-130,46,-126
- 3180 DATA 47,-122,45,-120,41,-119,40,-113,41,-111,40,-108,38,-108
- 3181 DATA 37,-103,28,-105,24,-104,19,-106,17,-109,12,-110,11,-113
- 3182 DATA 18,-152,12,-154,11,-158,10,-160,11,-164,10,-165,16,-176
- 3183 DATA 18,-179,20,-182,23,-184,25,-180,27,-182,28,-198,32,-204
- 3184 DATA 34,-206,38,-211,135,-211,135,-22,0,-22,0,-211,38,-211
- 3190 DATA 38,-207,999,999:'S.F. BAY
- 3191 DATA 66,-107,68,-107,72,-109,74,-112,77,-114,74,-116,68,-114
- 3192 DATA 67,-113,64,-112,60,-111,60,-108,66,-107,999,999:'ALAMEDA
- 3193 DATA 77,-111,79,-112,78,-113,77,-111,999,999:'GOV'T IS.
- 3194 DATA 30,-93,31,-95,30,-97,28,-95,30,-93,999,999:'ANGEL IS.
- 3195 DATA 34,-98,35,-99,33,-99,34,-98,999,999:'ALCAT. IS.
- 3196 DATA 43,-99,44,-101,47,-103,48,-104,45,-105,44,-104,43,-99
- 3197 DATA 999,999:'YBI
- 3810 DATA 888,888,73,90,40,74,55,82,20,10,135,165,136,10
- 3820 DATA 999,999
- 3830 CHAIN"MENU2"
-